﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Badge_Manager.Controller;

namespace Badge_Manager.View
{
    public partial class frmElencoUtenti : Form
    {
        private ctrlUtente cUtente;
        private const string stand_ricerca = "id as Id,nomeutente as Username";

        public frmElencoUtenti()
        {
            InitializeComponent();
            cUtente = new ctrlUtente();
            this.Start();
        }

        private void Start()
        {
            gridUtenti.DataSource = null;
            gridUtenti.DataSource = 
                cUtente.Ricerca(stand_ricerca);

            gridUtenti.Columns["Id"].Visible = false;
        }

        private void CancellaUtente()
        {
            if (gridUtenti.Rows.Count > 0 
                && gridUtenti.SelectedRows.Count == 1)
            {
                cUtente.Id =(Guid)gridUtenti.CurrentRow.Cells["Id"].Value;
                cUtente.NomeUtente = gridUtenti.CurrentRow.Cells["Username"].Value.ToString();
                if (cUtente.CancellaUtente(cUtente) > 0)
                {
                    gridUtenti.Rows.Remove(gridUtenti.CurrentRow);
                    MessageBox.Show("Utente rimosso correttamente");
                }
            }
        }

        private void txtCerca_TextChanged(object sender, EventArgs e)
        {
            gridUtenti.DataSource = null;
            gridUtenti.DataSource = cUtente.Ricerca(stand_ricerca
                , " nomeutente like '%" + txtCerca.Text.Trim() + "%'");

            gridUtenti.Columns["Id"].Visible = false;
        }

        private void cmdCancella_Click(object sender, EventArgs e)
        {
            this.CancellaUtente();
        }

        private void cmdNuovo_Click(object sender, EventArgs e)
        {
            frmNuovoUtente frm = new frmNuovoUtente();
            frm.MdiParent = this.MdiParent;
            frm.Show();
        }

        private void cmdAggiorna_Click(object sender, EventArgs e)
        {
            this.Start();
        }
    }
}
